package com.atguigu.demo.controller;

import com.atguigu.demo.utils.R;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController
public class Controller04Upload {

    @PostMapping("/do/file/upload")
    public R doFileUpload(@RequestParam("headPicture") MultipartFile multipartFile) {

        // 1、排除上传文件为空的情况
        boolean isEmpty = multipartFile.isEmpty();

        if (isEmpty) {
            return R.ok("您好！您没有上传任何文件！");
        }

        // 2、获取上传文件相关信息
        // [1]获取文件的原始名称（当初在用户浏览器端上传的时候，叫什么名称）
        String originalFilename = multipartFile.getOriginalFilename();
        System.out.println("originalFilename = " + originalFilename);

        // [2]文件内容类型
        String contentType = multipartFile.getContentType();
        System.out.println("contentType = " + contentType);

        // [3]文件上传框的 name 属性值
        String name = multipartFile.getName();
        System.out.println("name = " + name);

        // [4]获取文件大小
        long size = multipartFile.getSize();
        System.out.println("size = " + size);

        // 3、文件转存

        return R.ok("上传成功");
    }

}
